package biz

import (
	"github.com/go-kratos/kratos/v2/log"
	"github.com/google/wire"
)

var ProviderSet = wire.NewSet(NewGreeterUsecase, NewGinUsecase)

// GreeterUsecase
type GreeterUsecase struct {
	log *log.Helper

	greeterRepo GreeterRepo
}

func NewGreeterUsecase(repo GreeterRepo, logger log.Logger) *GreeterUsecase {
	return &GreeterUsecase{
		log:         log.NewHelper(logger),
		greeterRepo: repo,
	}
}

// GinUsecase
type GinUsecase struct {
	log *log.Helper

	ginRepo BizGinRepo
}

func NewGinUsecase(logger log.Logger, ginRepo BizGinRepo) *GinUsecase {
	return &GinUsecase{
		log:     log.NewHelper(logger),
		ginRepo: ginRepo,
	}
}
